package com.yidu.action;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yidu.comment.Message;
import com.yidu.comment.Page;
import com.yidu.model.SnComPurDetail;
import com.yidu.model.SnComPurchase;
import com.yidu.model.SnUser;
import com.yidu.service.FinancesChaseSnAuditService;

/**
 * 财务采购审核action
 * @author wuqi
 * @date 2019年1月3日
 */
@Controller
@RequestMapping("/financeschasesnaudit")
public class FinancesChaseSnAuditAction {

	/**
	 * 注入财务采购审核service
	 */
	@Resource
	FinancesChaseSnAuditService fcsas;
	
	/**
	 * 查询财务审核表
	 * @param page 当前页数
	 * @param limit 每页多少行
	 * @param sc 条件
	 * @param session 获取session里的值
	 * @return map json格式
	 */
	@RequestMapping("/findAllFinances")
	@ResponseBody
	public Map<String, Object> findAllFinances(String page,String limit,SnComPurchase scp,HttpSession session){
		SnUser user = (SnUser) session.getAttribute("user");
		//得到分页工具类
		Page pages=new Page();
		//将数据封装   开始的行数和一页的数据
		pages.setCurPage(Integer.valueOf(page));
		pages.setRows(Integer.valueOf(limit));
		
		//创建一个map对象
		Map<String, Object> maps=new HashMap<>();
		
		//获取分公司id
		scp.setBraId(user.getBraId());
		
		maps.put("page", pages);
		maps.put("scp", scp);
		//调用条件查询的方法
		List<SnComPurchase> list = fcsas.findAllFinances(maps);
		//调用查询行数的方法
		int count=fcsas.findFinancesCount(maps);
		//创建一个map
		Map<String, Object> map = new HashMap<>();
		map.put("code", 0);
		map.put("msg", 0);
		map.put("count",count);
		//将list放入map中
		map.put("data", list);
		return map;
	}
	
	/**
	 * 点击审核改变状态
	 * @param purId 采购id
	 * @param isva 是否有用
	 * @param sort 排序
	 * @param auState 审核状态
	 * @param auIdea 审核意见
	 * @param purSum 总价
	 * @param session session 获取session里的值
	 * @return 2 资金不足 ，1成功 ，0 失败
	 */
	@RequestMapping("/financessnaudit")
	@ResponseBody
	public Message financessnaudit(String purId,Integer isva,Integer sort,Integer auState,String auIdea,String purSum,HttpSession session) {
		SnUser user = (SnUser) session.getAttribute("user");
		int rows = fcsas.financessnaudit(purId,isva,sort,auState,auIdea,purSum,user);
		Message age = new Message();
		if(rows==1) {
			age.setState(1);
		}else if(rows==2){
			age.setState(2);
		}else {
			age.setState(0);
		}
		return age;
	}
	
	/**
	 * 查询详情表分页和行数
	 * @param page 当前页数
	 * @param limit 每页多少行
	 * @param sc 条件
	 * @return map json格式
	 */
	@RequestMapping("/findFinances")
	@ResponseBody
	public Map<String, Object> findFinances(String page,String limit,SnComPurDetail scp){
		//得到分页工具类
		Page pages=new Page();
		//将数据封装   开始的行数和一页的数据
		pages.setCurPage(Integer.valueOf(page));
		pages.setRows(Integer.valueOf(limit));
		
		//创建一个map对象
		Map<String, Object> maps=new HashMap<>();
		maps.put("page", pages);
		maps.put("scp", scp);
		//调用条件查询的方法
		List<SnComPurchase> list = fcsas.findFinancesAll(maps);
		//调用查询行数的方法
		int count=fcsas.findAllFinancesCount(maps);
		//创建一个map
		Map<String, Object> map = new HashMap<>();
		map.put("code", 0);
		map.put("msg", 0);
		map.put("count",count);
		//将list放入map中
		map.put("data", list);
		return map;
	}
}
